With the widespread use of network based applications and the advent of the need to transmit larger amounts of data in the form of video or audio files, concerns have been raised with straining network resources in the routine transfer of data between networked computers. Currently such requests may be made for data to a web based server via a normal http request. The data is sent with certain information such as checksums to confirm the receipt of all of the data intended to be sent. Once the entirety of the requested data is received, the receiving computer sends an acknowledgment signal to the sending computer.
However, certain data is sent repetitively such as audio or video files that may be used repeatedly by certain applications. Although the receiving computer may already have received the requested data, it continues to request the same data when running certain applications that will reuse the received data. Thus the receiving computer receives the same data thus using network transmission resources unnecessarily. The large amount of unnecessary data transmission creates bottlenecks in network systems therefore slowing down service and responses to other server requests. For example, visiting a website may result in sending a flash file to the client's browser which may be cached. After visiting another page, the user may return to the website and subsequently have to request the flash file again from the web server.